package com.lostreseditores.sabersai.dataaccess.daoFactory;

import com.lostreseditores.sabersai.dataaccess.dao.AccesoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.AnalizaxrespuestaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.AsignaturaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.AsignaturaxcompetenciaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.AsignaturaxcomponenteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.AsignaturaxexamenDAO;
import com.lostreseditores.sabersai.dataaccess.dao.BasesDAO;
import com.lostreseditores.sabersai.dataaccess.dao.CalificacionDAO;
import com.lostreseditores.sabersai.dataaccess.dao.CalificacionxestudianteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.CalificaperiodoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ClaseasignaturaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ColegioDAO;
import com.lostreseditores.sabersai.dataaccess.dao.CompetenciaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ComponenteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ComunidadDAO;
import com.lostreseditores.sabersai.dataaccess.dao.CursoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.DistribuidorDAO;
import com.lostreseditores.sabersai.dataaccess.dao.EstudianteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ExamenDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ExamenxreporteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.GeneroDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IAccesoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IAnalizaxrespuestaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IAsignaturaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IAsignaturaxcompetenciaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IAsignaturaxcomponenteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IAsignaturaxexamenDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IBasesDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ICalificacionDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ICalificacionxestudianteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ICalificaperiodoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IClaseasignaturaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IColegioDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ICompetenciaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IComponenteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IComunidadDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ICursoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IDistribuidorDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IEstudianteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IExamenDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IExamenxreporteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IGeneroDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IJornadaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ILogroDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ILugarDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IMenuDAO;
import com.lostreseditores.sabersai.dataaccess.dao.INivelDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IPremarcadoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IReportesDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IRespuestaxasignaturaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IResultadodetalladoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IResultadoxestudianteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ITipoexamenDAO;
import com.lostreseditores.sabersai.dataaccess.dao.IUsuarioDAO;
import com.lostreseditores.sabersai.dataaccess.dao.JornadaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.LogroDAO;
import com.lostreseditores.sabersai.dataaccess.dao.LugarDAO;
import com.lostreseditores.sabersai.dataaccess.dao.MenuDAO;
import com.lostreseditores.sabersai.dataaccess.dao.NivelDAO;
import com.lostreseditores.sabersai.dataaccess.dao.PremarcadoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ReportesDAO;
import com.lostreseditores.sabersai.dataaccess.dao.RespuestaxasignaturaDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ResultadodetalladoDAO;
import com.lostreseditores.sabersai.dataaccess.dao.ResultadoxestudianteDAO;
import com.lostreseditores.sabersai.dataaccess.dao.TipoexamenDAO;
import com.lostreseditores.sabersai.dataaccess.dao.UsuarioDAO;


public class XMLHibernateDaoFactory {
    private static XMLHibernateDaoFactory instance = null;

    private XMLHibernateDaoFactory() {
    }

    /**
    *
    * @return HibernateDaoFactory
    */
    public static XMLHibernateDaoFactory getInstance() {
        if (instance == null) {
            instance = new XMLHibernateDaoFactory();
        }

        return instance;
    }

    /**
    * This method instantiates the IAccesoDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IAccesoDAO implementation
    */
    public IAccesoDAO getAccesoDAO() {
        return new AccesoDAO();
    }

    /**
    * This method instantiates the IAnalizaxrespuestaDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IAnalizaxrespuestaDAO implementation
    */
    public IAnalizaxrespuestaDAO getAnalizaxrespuestaDAO() {
        return new AnalizaxrespuestaDAO();
    }

    /**
    * This method instantiates the IAsignaturaDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IAsignaturaDAO implementation
    */
    public IAsignaturaDAO getAsignaturaDAO() {
        return new AsignaturaDAO();
    }

    /**
    * This method instantiates the IAsignaturaxcompetenciaDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IAsignaturaxcompetenciaDAO implementation
    */
    public IAsignaturaxcompetenciaDAO getAsignaturaxcompetenciaDAO() {
        return new AsignaturaxcompetenciaDAO();
    }

    /**
    * This method instantiates the IAsignaturaxcomponenteDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IAsignaturaxcomponenteDAO implementation
    */
    public IAsignaturaxcomponenteDAO getAsignaturaxcomponenteDAO() {
        return new AsignaturaxcomponenteDAO();
    }

    /**
    * This method instantiates the IAsignaturaxexamenDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IAsignaturaxexamenDAO implementation
    */
    public IAsignaturaxexamenDAO getAsignaturaxexamenDAO() {
        return new AsignaturaxexamenDAO();
    }

    /**
    * This method instantiates the IBasesDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IBasesDAO implementation
    */
    public IBasesDAO getBasesDAO() {
        return new BasesDAO();
    }

    /**
    * This method instantiates the ICalificacionDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ICalificacionDAO implementation
    */
    public ICalificacionDAO getCalificacionDAO() {
        return new CalificacionDAO();
    }

    /**
    * This method instantiates the ICalificacionxestudianteDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ICalificacionxestudianteDAO implementation
    */
    public ICalificacionxestudianteDAO getCalificacionxestudianteDAO() {
        return new CalificacionxestudianteDAO();
    }

    /**
    * This method instantiates the ICalificaperiodoDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ICalificaperiodoDAO implementation
    */
    public ICalificaperiodoDAO getCalificaperiodoDAO() {
        return new CalificaperiodoDAO();
    }

    /**
    * This method instantiates the IClaseasignaturaDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IClaseasignaturaDAO implementation
    */
    public IClaseasignaturaDAO getClaseasignaturaDAO() {
        return new ClaseasignaturaDAO();
    }

    /**
    * This method instantiates the IColegioDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IColegioDAO implementation
    */
    public IColegioDAO getColegioDAO() {
        return new ColegioDAO();
    }

    /**
    * This method instantiates the ICompetenciaDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ICompetenciaDAO implementation
    */
    public ICompetenciaDAO getCompetenciaDAO() {
        return new CompetenciaDAO();
    }

    /**
    * This method instantiates the IComponenteDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IComponenteDAO implementation
    */
    public IComponenteDAO getComponenteDAO() {
        return new ComponenteDAO();
    }

    /**
    * This method instantiates the IComunidadDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IComunidadDAO implementation
    */
    public IComunidadDAO getComunidadDAO() {
        return new ComunidadDAO();
    }

    /**
    * This method instantiates the ICursoDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ICursoDAO implementation
    */
    public ICursoDAO getCursoDAO() {
        return new CursoDAO();
    }

    /**
    * This method instantiates the IDistribuidorDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IDistribuidorDAO implementation
    */
    public IDistribuidorDAO getDistribuidorDAO() {
        return new DistribuidorDAO();
    }

    /**
    * This method instantiates the IEstudianteDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IEstudianteDAO implementation
    */
    public IEstudianteDAO getEstudianteDAO() {
        return new EstudianteDAO();
    }

    /**
    * This method instantiates the IExamenDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IExamenDAO implementation
    */
    public IExamenDAO getExamenDAO() {
        return new ExamenDAO();
    }

    /**
    * This method instantiates the IExamenxreporteDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IExamenxreporteDAO implementation
    */
    public IExamenxreporteDAO getExamenxreporteDAO() {
        return new ExamenxreporteDAO();
    }

    /**
    * This method instantiates the IGeneroDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IGeneroDAO implementation
    */
    public IGeneroDAO getGeneroDAO() {
        return new GeneroDAO();
    }

    /**
    * This method instantiates the IJornadaDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IJornadaDAO implementation
    */
    public IJornadaDAO getJornadaDAO() {
        return new JornadaDAO();
    }

    /**
    * This method instantiates the ILogroDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ILogroDAO implementation
    */
    public ILogroDAO getLogroDAO() {
        return new LogroDAO();
    }

    /**
    * This method instantiates the ILugarDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ILugarDAO implementation
    */
    public ILugarDAO getLugarDAO() {
        return new LugarDAO();
    }

    /**
    * This method instantiates the IMenuDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IMenuDAO implementation
    */
    public IMenuDAO getMenuDAO() {
        return new MenuDAO();
    }

    /**
    * This method instantiates the INivelDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return INivelDAO implementation
    */
    public INivelDAO getNivelDAO() {
        return new NivelDAO();
    }

    /**
    * This method instantiates the IPremarcadoDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IPremarcadoDAO implementation
    */
    public IPremarcadoDAO getPremarcadoDAO() {
        return new PremarcadoDAO();
    }

    /**
    * This method instantiates the IReportesDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IReportesDAO implementation
    */
    public IReportesDAO getReportesDAO() {
        return new ReportesDAO();
    }

    /**
    * This method instantiates the IRespuestaxasignaturaDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IRespuestaxasignaturaDAO implementation
    */
    public IRespuestaxasignaturaDAO getRespuestaxasignaturaDAO() {
        return new RespuestaxasignaturaDAO();
    }

    /**
    * This method instantiates the IResultadodetalladoDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IResultadodetalladoDAO implementation
    */
    public IResultadodetalladoDAO getResultadodetalladoDAO() {
        return new ResultadodetalladoDAO();
    }

    /**
    * This method instantiates the IResultadoxestudianteDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IResultadoxestudianteDAO implementation
    */
    public IResultadoxestudianteDAO getResultadoxestudianteDAO() {
        return new ResultadoxestudianteDAO();
    }

    /**
    * This method instantiates the ITipoexamenDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return ITipoexamenDAO implementation
    */
    public ITipoexamenDAO getTipoexamenDAO() {
        return new TipoexamenDAO();
    }

    /**
    * This method instantiates the IUsuarioDAO class for HibernateCore
    * that is used in this applications deployment environment to access the data.
    * @return IUsuarioDAO implementation
    */
    public IUsuarioDAO getUsuarioDAO() {
        return new UsuarioDAO();
    }
}
